import Vue from 'vue';
import Vuex from 'vuex';
import vuexPersist from 'vuex-persist';
import { Login } from '../api/user.js';
Vue.use(Vuex);
// 数据持久化
const VuexPersist = new vuexPersist({
  storage: window.sessionStorage
});
export default new Vuex.Store({
  state: {
    users: {
      username: '',
      loginState: 0,
      rules: '',
      token: null
    }
  },
  mutations: {
    setUser(state, data) {
      state.users = { ...state.users, ...data };
    }
  },
  actions: {
    // 登录和退出
    actUser({ commit }, data) {
      // 返回出去的是promise的axixo接口
      return Login(data).then(res => {
        // 存储数据到state
        if (res.code) {
          commit('setUser', res.data);
        }
        // 这个返回是给login.vue文件里的
        return res;
      });
    }
  },
  plugins: [VuexPersist.plugin]
});
